// 接口地址
export const API_BASE_URL = process.env.VUE_APP_API_BASE_URL;

// 项目名称
export const PROJECT_NAME = process.env.VUE_APP_NAME;

// 不显示侧栏的路由
export const HIDE_SIDEBARS = ["/noauth"];

// 不显示页脚的路由
export const HIDE_FOOTERS = [
  '/system/dictionary',
  '/system/organization',
  '/form/advanced',
  '/example/choose',
  '/noauth'
];

// 页签同路由不同参数可重复打开的路由
export const REPEATABLE_TABS = ['/system/user-info'];

// 不需要登录的路由
export const WHITE_LIST = ['/login', '/yananlogin', '/baojilogin', '/xianlogin', '/sgdwLogin', '/forget', '/sysparam', '/checkunitpdf', '/weinanlogin', '/ankanglogin', '/yulinlogin',
  '/notice', '/unitregister', '/403', '/404', '/500', '/Inputapplication', '/test', '/noauth'
];

// 开启 KeepAlive 后仍然不需要缓存的路由地址
export const KEEP_ALIVE_EXCLUDES = [];

// 直接指定菜单数据
export const USER_MENUS = null;

// token传递的header名称
export const TOKEN_HEADER_NAME = 'Authorization';

// token存储的名称
export const TOKEN_STORE_NAME = 'access_token';

// 主题配置存储的名称
export const THEME_STORE_NAME = 'theme';

// 首页名称, 为空则取第一个菜单的名称
export const HOME_TITLE = '主页';

// 首页路径, 为空则取第一个菜单的地址
export const HOME_PATH = '/dashboard/workplace';

// 顶栏是否显示主题设置按钮
export const ENABLE_SETTING = true;

// 开启多页签后是否缓存组件
export const TAB_KEEP_ALIVE = true;

export default {
  // 页签可重复打开的路由
  repeatableTabs: ['/system/user/info'],
  // 不显示全局页脚的路由地址
  hideFooters: ['/system/dictionary', '/system/organization'],
  // 菜单数据接口
  menuUrl: '/api/sys/PlatUser/profile', //'/api/sys/PlatUser/menu',
  // 自定义解析接口菜单数据
  parseMenu: null,
  // 自定义解析接口菜单每一个数据格式
  parseMenuItem: null,
  // 直接指定菜单数据
  menus: null,
  // 用户信息接口
  userUrl: null, // '/api/sys/PlatUser/profile',
  // 侧边栏菜单风格: default(默认), mix(双排菜单)
  sideMenuStyle: 'default',
  // 开启多页签是否缓存组件
  tabKeepAlive: false,
  // 自定义解析接口用户信息
  parseUser(res) {
    // 这里code和msg字段如果不一样可在这里修改
    let result = {
      code: res.code,
      msg: res.msg
    };
    if (res.data) {
      // 这里只需要姓名和头像两个字段，如需缓存其它字段可在这里添加
      result.data = {
        nickname: res.data.nickname,
        avatar: res.data.avatar
      };
      // 下面是获取角色和权限列表，需要string数组类型
      if (res.data.roles) {
        result.data.roles = res.data.roles.map(d => d.roleCode);
      }
      if (res.data.authorities) {
        result.data.authorities = res.data.authorities.map(d => d);
      }
      if (res.data.userPaths) {
        result.data.menus = res.data.userPaths
      }
    }
    return result;
  },
  // token传递的header名称
  tokenHeaderName: 'Authorization',
  // token存储的名称
  tokenStoreName: 'access_token',
  // 获取缓存的token
  takeToken() {
    let token = localStorage.getItem(this.tokenStoreName);
    if (!token) {
      token = sessionStorage.getItem(this.tokenStoreName);
    }
    return token;
  },
  // 缓存token
  cacheToken(token, remember) {
    localStorage.removeItem(this.tokenStoreName);
    sessionStorage.removeItem(this.tokenStoreName);
    if (token) {
      if (remember) {
        localStorage.setItem(this.tokenStoreName, token);
      } else {
        sessionStorage.setItem(this.tokenStoreName, token);
      }
    }
  },
  // 用户信息存储的名称
  userStoreName: 'user',
  // 获取缓存的用户信息
  takeUser() {
    try {
      return JSON.parse(localStorage.getItem(this.userStoreName)) || {};
    } catch (e) {
      console.error(e);
    }
    return {};
  },
  // 缓存用户信息
  cacheUser(user) {
    if (user) {
      localStorage.setItem(this.userStoreName, JSON.stringify(user));
    } else {
      localStorage.removeItem(this.userStoreName);
    }
  },
  // 主题配置存储的名称
  themeStoreName: 'theme',
  // 首页tab显示标题, null会根据菜单自动获取
  homeTitle: '主页',
  // 首页路径, null会自动获取
  homePath: '/dashboard/workplace', ///dashboard/workplace
  // 顶栏是否显示主题设置按钮
  showSetting: true,
  // 侧边栏风格: 0亮色, 1暗色
  sideStyle: 1,
  // 顶栏风格: 0亮色, 1暗色, 2主色
  headStyle: 0,
  // 标签页风格: 0默认, 1圆点, 2卡片
  tabStyle: 0,
  // 布局风格: 0默认, 1顶部菜单风格, 2混合菜单风格
  layoutStyle: 0,
  // 是否固定侧栏
  fixedSidebar: true,
  // 是否固定顶栏
  fixedHeader: false,
  // 是否固定主体
  fixedBody: true,
  // logo是否自适应宽度
  logoAutoSize: false,
  // 内容区域宽度是否铺满
  bodyFull: true,
  // 是否开启多标签
  showTabs: true,
  // 侧栏是否多彩图标
  colorfulIcon: false,
  // 侧边栏是否只保持一个子菜单展开
  sideUniqueOpen: true,
  // 是否开启页脚
  showFooter: false,
  // 是否是色弱模式
  weakMode: false,
  // 是否是暗黑模式
  darkMode: false,
  // 默认主题色
  color: null
}

// 外层布局的路由地址
export const LAYOUT_PATH = '/';

// 刷新路由的路由地址
export const REDIRECT_PATH = '/redirect';

// i18n 缓存的名称
export const I18N_CACHE_NAME = 'i18n-lang';

// 是否开启国际化功能
export const I18N_ENABLE = true;

// 高德地图 key , 自带的只能用于测试, 正式项目请自行到高德地图官网申请 key
export const MAP_KEY = '25cc2a03c7976d2fbbef526b7f139a9e';

// EleAdmin 授权码, 自带的只能用于演示, 正式项目请更换为自己的授权码
export const LICENSE_CODE =
  'dk9mcwJyetRWQlxWRiojIqJWdzJCLi4WaxMzM0ojI0NWZCNnI6ICZpJCLiwiI24UVyFna6Iibvl2cyVmdQfiETMuEjI0NW=='
  ;
